Calibrating a digital printer using a cost function

ABSTRACT

A method of selecting a preferred colorant control signal vector for a color output device for reproducing a desired output color, the color output device producing output colors using four or more colorants, wherein the amount of each colorant is controlled by the colorant control signal vector, includes determining a device model for the color output device relating the colorant control signal vector to the corresponding output color; using the device model to determine a set of valid colorant control signal vectors whose corresponding output color substantially matches the desired output color; and selecting the preferred colorant control signal vector from the set of valid colorant control signal vectors using a cost function responsive to one or more cost attribute(s) that vary as a function of the colorant control signal vector.

CROSS REFERENCE TO RELATED APPLICATIONS

Reference is made to commonly assigned U.S. patent application Ser. No.09/881,460 filed Jun. 14, 2001 by Douglas Couwenhoven et al., entitled“Method for Multilevel Printing of Digital Images Using Reduced ColorantAmounts”, and commonly assigned U.S. patent application Ser. No.10/310,009 filed concurrently herewith by Gustav Braun et al., entitled“Color Gamut Mapping Using a Cost Function”, the disclosures of whichare herein incorporated by reference.

FIELD OF THE INVENTION

This invention pertains to digital imaging, and more particularly to acolor transformation used in preparing a digital image for printing.

BACKGROUND OF THE INVENTION

A typical digital imaging system may include an image capture devicesuch as a digital camera or scanner, a computer attached to the digitalcamera for processing the digital images, and an output device such as aprinter or softcopy display attached to the computer forprinting/viewing the processed digital images. A color managementarchitecture for a digital imaging system provides a means forprocessing the digital images in the computer such that the outputcolors that are produced on the output device are reasonablereproductions of the desired input colors as captured by the inputdevice. One such color management architecture that is widely known andaccepted in the art is defined by the International Color Consortium(ICC) in Specification ICC. 1:2001-12 “File Format For Color Profiles”.The ICC color management framework provides for characterizing animaging device using a device profile such as an “ICC profile”. The ICCprofile for an imaging device specifies how to convert from devicedependent color space (DDCS) to a device independent color space (DICS)so that images may be communicated from one device to another.

For example, images generated by a digital camera are generally composedof a 2-dimensional (x,y) array of discrete pixels, where each pixel isrepresented by a trio of 8-bit digital code values (which are integerson the range 0-255) that represent the amount of red, green, and bluecolor that were “seen” by the camera at this pixel. These RGB codevalues represent the DDCS, since they describe the amount of light thatwas captured through the specific set of RGB filters that are used inthe digital camera. In order for this digital image to be used, the RGBcode values must be transformed into a DICS so they may be properlyinterpreted by another imaging device. An example of a typical digitalimaging system incorporating ICC color management is depicted in FIG. 1,in which a digital image source 10 provides RGB input code values (aDDCS) to a computer (not shown). The computer transforms the RGB inputcode values to a DICS, (which is CIELab in this case) using an inputdevice color transform 20 specified by the ICC profile for the digitalimage source 10. Once converted to CIELab, the image is then processedthrough an output device color transform 30, which is specified by anICC profile for the output device. In this case, the output device is aninkjet printer 40 that uses cyan (C), magenta (M), yellow (Y), and black(K) colorants. Thus, the ICC profile for the inkjet printer 40 providesthe transformation from the DICS (CIELab) to the DDCS (CMYK) for theprinter. The combination of the ICC profile transformations for theinput and output devices ensures that the colors reproduced by theoutput device match those captured by the input device.

The ICC profile format, of course, simply provides a file format inwhich a color transform is stored. The color transform itself, which istypically encoded as a multidimensional look-up table, is what specifiesthe mathematical conversion from one colorspace to another. There aremany tools known in the art (such as the commercially available KodakColorFlow Profile Editor) for creating ICC profiles for wide variety ofimaging devices, including inkjet printers using CMYK colorants. CMYKprinters in particular pose a challenge when creating a color transform.Since there are four colorants that are used to print a given color,which is specified in the DICS by three channels (L*,a*,b*), then thereis an extra degree of freedom that results in a many to one mapping,where many CMYK code value combinations can result in the same color.Thus, when building the color transform, a method of choosing aparticular CMYK combination that is used to reproduce a given color isrequired. Techniques to accomplish this, known in the graphic arts asUnder Color Removal (UCR) or Black Generation (BG), are known in theart, as taught in U.S. Pat. Nos. 4,482,917; 5,425,134; 5,508,827;5,553,199; and 5,710,824. These methods primarily use smooth curves orinterpolation techniques to specify the amount of K ink that is used toreproduce a color based on its location in colorspace, and then computethe amount of CMY ink that is needed to accurately reproduce the color.

However, in the case of an inkjet printer, which places discrete dropsof CMYK inks on a page, different combinations of CMYK code values mayproduce the same color, but appear much different in graininess or noisewhen viewed by a human observer. This is due to the fact that inkjetprinters are typically multitone printers, which are capable of ejectingonly a fixed number (generally 1-8) of discrete ink drop sizes at eachpixel. The graininess of a multitoned image region will vary dependingon the CMYK code values that were used to generate it. Thus, certainCMYK code value combinations might produce visible patterns having anundesirable grainy appearance, while other CMYK code value combinationsmay produce the same (or nearly) color, but not appear as grainy. Thisrelationship is not recognized nor taken advantage of in the prior arttechniques for generating color transforms for CMYK printers.

An additional complication with creating color transform for inkjetprinters is that image artifacts can typically result from using toomuch ink. These image artifacts degrade the image quality, and canresult in an unacceptable print. In the case of an inkjet printer, someexamples of these image artifacts include bleeding, cockling, banding,and coalescence. Bleeding is characterized by an undesirable mixing ofcolorants along a boundary between printed areas of different colorants.The mixing of the colorants results in poor edge sharpness, whichdegrades the image quality. Cockling is characterized by a warping ordeformation of the receiver that can occur when printing excessiveamounts of colorant. In severe cases, the receiver may warp to such anextent as to interfere with the mechanical motions of the printer,potentially causing damage to the printer. Banding refers to unexpecteddark or light lines or streaks that appear running across the print,generally oriented along one of the axes of motion of the printer.Coalescence refers to undesired density or tonal variations that arisewhen ink pools together on the page, and can give the print a grainyappearance, thus degrading the image quality. In an inkjet printer,satisfactory density and color reproduction can generally be achievedwithout using the maximum possible amount of colorant. Therefore, usingexcessive colorant not only introduces the possibility of the abovedescribed image artifacts occurring, but is also a waste of colorant.This is disadvantageous, since the user will get fewer prints from agiven quantity of colorant.

It has been recognized in the art that the use of excessive colorantwhen printing a digital image needs to be avoided. Generally, the amountof colorant needed to cause image artifacts (and therefore be consideredexcessive) is receiver, colorant, and printer technology dependent. Manytechniques of reducing the colorant amount are known in the art, some ofwhich operate on the image data after multitoning. See for example U.S.Pat. Nos. 4,930,018; 5,515,479; 5,563,985; 5,012,257; and 6,081,340.U.S. Pat. No. 5,633,662 to Allen et al. teaches a method of reducingcolorant using a pre-multitoning algorithm that operates on higher bitprecision data (typically 256 levels, or 8 bits per pixel, per color).Also, many of the commercially available ICC profile creation tools(such as Kodak ColorFlow Profile Editor) have controls that can beadjusted when creating the ICC profile that limit the amount of colorantthat will be printed when using the ICC profile. This process issometimes referred to as total colorant amount limiting.

The prior art techniques for total colorant amount limiting work wellfor many inkjet printers, but are disadvantaged when applied to state ofthe art inkjet printers that use other than the standard set of CMYKinks. A common trend in state of the art inkjet printing is to useCMYKcm inks, in which additional cyan and magenta inks that are lighterin density are used. The light inks are similar to their darkercounterparts in that they produce substantially the same color butdifferent density. The use of the light inks results in less visible inkdots in highlight regions, and therefore improved image quality.However, many tools for creating ICC profiles cannot be used to create aprofile that directly addresses all six color channels of the inkjetprinter, due to the complex mathematics involved. Instead, a CMYKprofile is typically created, which is then followed by a look-up tablethat converts CMYK to CMYKcm. For example, see U.S. Pat. No. 6,312,101.While this and similar methods provide a way for current ICC profilegeneration tools to be used with CMYKcm printers, the amount of colorantthat gets placed on the page as a function of the CMYK code value istypically highly nonlinear and possibly non-monotonic as well. Thiscreates a big problem for the prior art ICC profile generation tools,since they all assume that the amount of colorant that is printed isproportional to the CMYK code value. Thus, when building an ICC profilefor a CMYKcm printer using prior art tools, the total colorant amountlimiting is often quite inaccurate, resulting in poor image quality.

In light of the above described image artifacts, there is the need for acolor transformation used in preparing a digital image for a digitalprinter in which the amount of colorant, the noise (or graininess), andthe color reproduction accuracy can be simultaneously adjusted by auser.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide for printing highquality digital images that are free of the above described artifactsassociated with using excessive amounts of colorant.

It is a further object of the present invention to reduce the amount ofcolorant used to print an image on a multilevel printer in which thecolorant amount may not be linear or monotonic with digital code value,thereby resulting in improved image quality relative to the prior art.

Another object of the present invention is to provide for accurate totalcolorant amount limiting and accurate color calibration for a multilevelprinter in which the colorant amount may not be linear or monotonic withdigital code value.

Yet another object of the present invention is to provide for accuratecolor calibration while minimizing the appearance of undesirablegraininess or noise.

These objects are achieved by a method of selecting a preferred colorantcontrol signal vector for a color output device for reproducing adesired output color, the color output device producing output colorsusing four or more colorants, wherein the amount of each colorant iscontrolled by the colorant control signal vector, comprising the stepsof:

a) determining a device model for the color output device relating thecolorant control signal vector to the corresponding output color;

b) using the device model to determine a set of valid colorant controlsignal vectors whose corresponding output color substantially matchesthe desired output color; and

c) selecting the preferred colorant control signal vector from the setof valid colorant control signal vectors using a cost functionresponsive to one or more cost attribute(s) that vary as a function ofthe colorant control signal vector.

Advantages

By using a cost function to create a color transformation used inpreparing a digital image for a digital printer in accordance with thepresent invention, high quality digital images that are free of theabove mentioned artifacts are provided. The present invention provides away of creating a color transform that simultaneously provides accuratecolor calibration and total colorant amount limiting for a digitalprinter, while minimizing the appearance of undesirable graininess ornoise. The present invention provides for a substantial improvement overthe prior art in that it provides these benefits for multilevel printersin which the colorant amount may not be linear or monotonic with digitalcode value.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a digital imaging system forpracticing the present invention;

FIG. 2 is a flowchart showing the method of the present invention;

FIG. 3 is a graph showing ink volume as a function of code value;

FIG. 4 is a graph showing the volume cost as a function of ink volume;

FIG. 5 is a diagram showing three halftone patterns having the samecolor, but generated with different amounts of K ink; and

FIG. 6 is a graph showing the cost function plotted as a function of theK ink code value.

DETAILED DESCRIPTION OF THE INVENTION

A method of generating a color transform that provides for accuratetotal colorant amount limiting, pleasing color reproduction, and controlover graininess represents advancement in the state of the art. Apreferred embodiment of the present invention achieving these goals willbe described hereinbelow. The invention will be described in the contextof a color inkjet printer using CMYK inks, but one skilled in the artwill recognize that the scope of the invention is not limited to thisarrangement, and may be applied to other colorant sets and/or otherprinting technologies as well.

In a CMYK inkjet printer, a desired output color can generally bereproduced by many combinations of CMYK code values. Each combination ofCMYK code values is referred to as a colorant control signal vector,which causes the printer to eject specified amounts of each color ink onthe page in accordance with the corresponding code value. Generallyspeaking, as understood by one skilled in the art, one unit of K inkwill provide a similar contribution to the output color as one unit ofC, M, and Y inks printed in conjunction. This relationship is not exactby any means, and varies depending on the particular spectralcharacteristics of the individual inks, but in general is useful inunderstanding how different CMYK code values can produce the same outputcolor. For example, Table 1 shows several different CMYK code valuecombinations, and the associated output color (specified in CIELabcoordinates). Also shown for each CMYK code value combination is theassociated total colorant amount (ink volume in this case), and theimage noise metric value of a color patch printed using the given CMYKcode values. Details on the generation of the image noise metric valuewill be discussed further.

TABLE 1 C M Y K L* a* b* Vol Noise 13 0 0 160 42 −5 0 27 6.3 90 86 81 5742 −5 0 69 2.7 170 161 153 0 42 −5 0 82 2.1Note from Table 1 that the CMYK code values shown produce the sameoutput color, but have different ink volumes and image noise metricvalues. For example, the first row of the table corresponds to a patchprinted using mostly K ink, which uses the least ink volume, but has thehighest image noise metric value. Generally speaking, a high value forthe image noise metric means that the region of the image correspondingto this output color will appear undesirably grainy to a human observer.Low values of the image noise metric correspond to patches that appearmore pleasing and uniform. The bottom row of Table 1 corresponds to apatch of the same output color, but printed using no K ink. This patchuses the most ink volume, but results in the lowest image noise metricvalue. There will, in fact, be many other CMYK code values that willproduce the same output color as those shown in Table 1. The presentinvention provides for a method of selecting an optimal CMYK code valuecombination from the many possibilities to produce superior imagequality.

In some applications, it may be desirable to minimize image noise aboveall else, while in other applications, it may be desirable to use aslittle ink as possible, regardless of image noise. A differentapplication may require that the K ink and the CMY inks are used inrelatively equal proportion. It is likely that every application has aslightly different set of design criteria. The method of the presentinvention allows the user to satisfy any particular set of designcriteria by employing a cost function based approach for selecting thepreferred CMYK control signal vector for any desired output color. Theprocess by which this is achieved, according to a preferred embodiment,is shown in FIG. 2. The first step in the process is to determine allpossible CMYK code value combinations that will produce a desired outputcolor. To do this, a device model F(C,M,Y,K) is created which predictsthe CIELab values that describe the output color that is printed as afunction of the C, M, Y, and K code values. There are many ways in whichthe device model F(C,M,Y,K) may be created that are known to thoseskilled in the art. One way is to use the known spectral characteristicsof the inks with color mixing equations to predict the output colorwithout actually printing it. In a preferred embodiment, an image targetconsisting of a number of color patches substantially covering the fullCMYK code value range is actually printed, and the CIELab values foreach color patch are measured. A multidimensional look-up table is thencreated from the CMYK code values and corresponding CIELab values usingmultidimensional linear interpolation between the sampled data points.

In order to determine the possible CMYK code value combinations thatwill produce a desired output color, the device model F(C,M,Y,K), whichproduces L*a*b* as a function of CMYK, must be inverted such that itproduces CMYK as a function of L*a*b*. Due to the fact that F(C,M,Y,K)forms a many-to-one mapping (in that many CMYK's produce the sameL*a*b*), direct inversion is not possible. However, there are techniquesknown in the art to provide for inversion of a CMYK device model. Onesuch technique, used in a preferred embodiment of the present invention,is taught by Spaulding et al., in commonly assigned U.S. Pat. No.5,553,199, the disclosure of which is incorporated herein by reference.Spaulding teaches a CMYK device model inversion in which a range ofvalid K values is defined by a minimum K value and a maximum K value forwhich it is possible to reproduce a given color. The CMY valuescorresponding to values of K on the valid range are then determinedusing tetrahedral interpolation on a 3-dimensional subspace defined bythe K value. This technique provides an efficient method for determiningall possible CMYK code value combinations that will produce a desiredoutput color.

Turning again to FIG. 2, the next step in the process of the presentinvention is to compute a cost value associated with each possible CMYKcombination using a cost function. The cost function includes terms formany cost attributes, relating to many different design characteristics.For example, using too much colorant can result in undesirableartifacts, as described above. Thus, the cost function includes a termthat penalizes CMYK code value combinations using higher amounts of inkvolume. The ink volume is computed using a volume model, which predictsthe ink volume as a function of the CMYK code values. For many printers,the volume model can be analytically expressed as an equation, givensome knowledge about the specifications of the printer, such as thenumber of ink drop sizes that can be ejected at each pixel, and theirassociated volumes. For example, in the simple case of a binary CMYKprinter with a fixed drop volume of 32 picoliters, the volume producedby a given CMYK code value combination will vary linearly with the sumof the CMYK code values. However, state of the art inkjet printers canhave highly nonlinear and/or non-monotonic ink volume curves as afunction of the CMYK code value. An example of such a curve is shown inFIG. 3, which was derived from the C data channel of a KodakProfessional 3062 Large Format Inkjet printer. The curve shown in FIG. 3has a complex shape due to the fact that two cyan inks (light and darkdensity) are being used to print the information in the C data channel(and likewise for the M data channel). In this case, the volume producedby the C channel is computed using a 1D look-up table that stores thevolume curve of FIG. 3. Similar 1D look-up tables are constructed forthe M,Y, and K channels, and the total volume is computed as the sum ofthe volumes of the individual CMYK channels according toV _(total)(C,M,Y,K)=VLUT _(C)(C)+VLUT _(M)(M)+VLUT _(Y)(Y)+VLUT _(K)(K).Once the total volume has been computed, a volume cost V_(cost)(C,M,Y,K)is computed using a volume cost function as shown in FIG. 4. If thetotal volume is below a threshold or total colorant amount limit, V_(L),then there is no cost associated with the corresponding CMYK code valuecombination. If the total volume exceeds the threshold V_(L), then thevolume cost increases rapidly. This will discourage the use of CMYK codevalue combinations that exceed the volume limit V_(L), resulting inimproved image quality. One skilled in the art will recognize that thevolume cost function of FIG. 4 is just one such curve, and other curvesmay be used to provide similar effect.

Returning to FIG. 2, in addition to a cost attribute related to thetotal ink volume, another important cost attribute is related to theimage noise that is produced by each candidate CMYK code valuecombination. As mentioned earlier, many CMYK code value combinationswill result in the same color, but use different total ink volume andproduce different printed halftone patterns that result in differentperceptions of “graininess” or “noise” when viewed by a human observer.This is graphically illustrated in FIG. 5, which shows three halftonehypothetical halftone patterns 100, 110, 120 printed using differentamounts of K ink but resulting in the same output color. Halftonepattern 100 is printed using only K ink, which results in sparselyspaced K ink dots 130 that will exhibit high noise when viewed by thehuman eye. Halftone pattern 110 is printed using only C, M, and Y dots140, 150, and 160, respectively. Because each K ink dot is replaced by atriplet of CMY dots to achieve the same density, the CMY dots are spacedmuch closer than the K dots 130, and will be perceived as less noisy.Halftone pattern 120 is printed with a mixture of C, M, Y, and K inkdots 170, 180, 190, and 200, respectively, and represents the same colorreproduced with an intermediate level of noise. According to the presentinvention, the noise associated with each CMYK code value combination isused as a cost attribute to aid in the selection of a preferred CMYKcode value combination to reproduce the desired output color. Techniquesfor measuring the perception of noise in printed images are known in theart. Many similar variations exist that use a weighted sum of the imagepower spectrum as a measure of the noise in an image. In a preferredembodiment, the following equation is used to calculate the amount ofnoise in an image

$N = {\log\left( {\frac{1}{\left( {n_{x}n_{y}} \right)}{\sum\limits_{u}{\sum\limits_{v}{{{I\left( {u,v} \right)}{{CSF}\left( {u,v} \right)}}}^{2}}}} \right)}$where (n_(x),n_(y)) are the dimensions of the image region, I(u,v) isthe 2D Fourier transform of an image region I(x,y), and CSF(u,v) is thecontrast sensitivity function of the human visual system, which can becomputed according to the equations described in U.S. Pat. No.5,822,451. The image region I(x,y) corresponds to the halftone patternsthat result from printing a given CMYK code value combination. Referringagain to FIG. 2, an image noise model N(C,M,Y,K) is then generated usingthe above equation to compute noise for a set of printed color patchessubstantially covering the full CMYK code value range. In fact, the sameset of color patches may be used to develop the device model and noisemodel, although this is not necessarily the case. Once the noise modelN(C,M,Y,K) has been generated, an image noise cost can be computed foreach of the candidate CMYK code value combinations according toN _(cost)(C,M,Y,K)=N(C,M,Y,K).

Other cost attributes may be computed as required by the specificapplication. For example, certain CMYK code value combinations mayprovide improved resistance to light fading (or “lightfastness”) whencompared to other CMYK code value combinations. Thus, a term may beadded to the cost function to penalize CMYK code value combinations thatare prone to fading, thereby discouraging their use. Another term thatmay optionally be used in the cost function is a cost attribute relatedto “waterfastness”, or the resistance of a CMYK code value combinationto smearing when wetted. Also, certain CMYK code value combinations mayprovide for accurate color matching under a wide variety of illuminants,while others may only provide an accurate color match to the desiredoutput color under a specific illuminant. This property is called the“metameric index” of the CMYK code value combination, and more robustCMYK code value combinations may be assigned a lower cost than lessrobust ones. Another term that may be used in the cost function relatesto the surface gloss produced by a CMYK code value combination. Forexample, some inkjet printers use different formulations for the K inkthan are used for the CMY inks. The different formulations may havedifferent gloss properties, causing an abrupt gloss change, or“differential gloss” when printing smooth gradations. These glosschanges are undesirable, and thus CMYK code value combinations prone todifferential gloss may be penalized via a cost function term. Oneexample of this would be to create a cost attribute in which the costincreases with the amount of black (K) ink used. One skilled in the artwill recognize that there are other cost attributes that may be used,depending on the specific requirements of the application.

Once all of the cost attributes have been computed, the total cost for aCMYK code value combination is computed by summing up all of the termsin the cost function. In a preferred embodiment, the total cost willinclude at least a volume cost term and an image noise cost termaccording toCost(C,M,Y,K)=αV _(cost)(C,M,Y,K)+βN _(cost)(C,M,Y,K)where the weights α,β may be adjusted to indicate the relativeimportance of volume and noise in the image. Thus, the preferred CMYKcode value combination to reproduce a desired output color is chosen asthe one that minimizes the cost function, as depicted in FIG. 6. Aconvenient way to organize the candidate CMYK code value combinations isto sort them by the K code value. FIG. 6 shows (for one desired outputcolor) the cost of each candidate CMYK code value combination plottedagainst the K code value. The preferred CMYK code value combination hasa K value of K_(opt), which corresponds to the minimum of the costfunction.

To construct a color transform suitable for incorporating into an ICCprofile, the above described cost function based method of selecting apreferred CMYK code value combination to reproduce a desired outputcolor is applied to a multidimensional lattice of desired output colorsspanning the range of the CIELab DICS defined by the ICC. Typically, alattice of L*a*b* points is defined which can then be put through theprocess of the present invention to determine corresponding CMYK codevalue combinations. Some of the desired output colors will lie outsideof the color gamut of the printer, and therefore are not reproducible.These colors must be mapped to colors that are inside of the printersgamut using a gamut mapping algorithm. One simple gamut mappingtechnique is to move the out of gamut color along a line in CIELab spacebetween it and a central point such as L*a*b*=(50,0,0). The intersectionof the printers gamut with the line is the in-gamut color that will beused to reproduce the out-of-gamut color. There are many other gamutmapping algorithms that are known to those skilled in the art, some ofwhich are complex and sophisticated, and the particular form of gamutmapping is not fundamental to the invention.

A computer program product may include one or more storage medium, forexample; magnetic storage media such as magnetic disk (such as a floppydisk) or magnetic tape; optical storage media such as optical disk,optical tape, or machine readable bar code; solid-state electronicstorage devices such as random access memory (RAM), or read-only memory(ROM); or any other physical device or media employed to store acomputer program having instructions for controlling one or morecomputers to practice the method according to the present invention.

The invention has been described in detail with particular reference tocertain preferred embodiments thereof, but it will be understood thatvariations and modifications can be effected within the spirit and scopeof the invention.

PARTS LIST

-   10 digital image source-   20 input device color transform-   30 output device color transform-   40 inkjet printer-   100 max K halftone pattern-   110 min K halftone pattern-   120 intermediate K halftone pattern-   130 K ink dots-   140 C ink dots-   150 M ink dots-   160 Y ink dots-   170 C ink dots-   180 M ink dots-   190 Y ink dots-   200 K ink dots

1. A method of selecting a preferred colorant control signal vector fora color output device for reproducing a desired output color, the coloroutput device producing output colors using four or more colorants,wherein the amount of each colorant is controlled by the colorantcontrol signal vector, comprising the steps of: a) determining a devicemodel for the color output device relating the colorant control signalvector to the corresponding output color; b) using the device model todetermine a set of valid colorant control signal vectors whosecorresponding output color substantially matches the desired outputcolor; and c) selecting the preferred colorant control signal vectorfrom the set of valid colorant control signal vectors using a costfunction responsive to one or more cost attribute(s) that vary as afunction of the colorant control signal vector.
 2. The method of claim 1wherein the set of valid colorant control signal vectors is limited tothose satisfying a total colorant amount limit.
 3. The method of claim 1wherein one of the cost attributes is a total colorant amount.
 4. Themethod of claim 1 wherein one of the cost attributes is an image noisemetric.
 5. The method of claim 4 wherein the image noise metric isdetermined from an image noise model that relates the colorant controlsignal vector to the corresponding image noise metric.
 6. The method ofclaim 5 wherein the image noise model is formed by producing a set ofcolor patches corresponding to a set of colorant control signal vectorsand measuring the image noise metric of each color patch.
 7. The methodof claim 1 wherein one of the cost attributes is a function of theamount of an individual colorant.
 8. The method of claim 7 wherein thecost attribute increases with the amount of a black colorant.
 9. Themethod of claim 1 wherein one of the cost attributes is a metamericindex.
 10. The method of claim 1 wherein one of the cost attributes is asurface gloss value.
 11. The method of claim 1 wherein one of the costattributes is a waterfastness value.
 12. The method of claim 1 whereinone of the cost attributes is a lightfastness value.
 13. The method ofclaim 1 wherein step a) includes producing a set of color patchescorresponding to a set of colorant control signal vectors and measuringthe output color of each color patch.
 14. A color transform having aplurality of preferred colorant control signal vectors created byapplying the method of claim 1 for a plurality of desired output colors.15. The method of claim 14 wherein the color transform is stored as amultidimensional look-up table indexed by a lattice of output colors.16. The method of claim 14 wherein desired output colors that are notreproducible by the color output device are mapped to output colors thatare reproducible by the color output device.
 17. The method of claim 1wherein the four or more colorants include cyan, magenta, yellow, andblack colorants.
 18. The method of claim 1 wherein at least two of thefour or more colorants have similar color but different densities. 19.The method of claim 1 wherein the color output device is a colorprinter.